package com.bing.bingPro.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bing.bingPro.controller.vo.TNetworkTopologyPonAreaDayVo;
import com.bing.bingPro.controller.vo.zRankVo;
import com.bing.bingPro.controller.vo.zTrendVo;
import com.bing.bingPro.entity.TNetworkTopologyPonAreaDay;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;

/**
 * @author 29821
 * @description 针对表【t_network_topology_pon_area_day】的数据库操作Mapper
 * @createDate 2023-07-10 09:53:23
 * @Entity com.bing.bingPro.entity.TNetworkTopologyPonAreaDay
 */
public interface TNetworkTopologyPonAreaDayMapper extends BaseMapper<TNetworkTopologyPonAreaDay> {

    List<LocalDate> dateDay();

    List<zTrendVo> queryPonTrendList(@Param("threshold") Integer threshold, @Param("localDate") String localDate, @Param("province") String province, @Param("city") String cityStr, @Param("region") String region);

    List<String> getDay(@Param("date") String time);

    List<zTrendVo> queryPonTrendMonthList(@Param("threshold") Integer threshold, @Param("localDate") String localDate, @Param("province") String province, @Param("city") String cityStr, @Param("region") String region);

    List<zRankVo> queryPonRankList(@Param("threshold") Integer threshold, @Param("localDate") String localDate, @Param("province") String province);

    List<zRankVo> queryPonRankProvinceList(@Param("threshold") Integer threshold, @Param("localDate") String time);

    List<zRankVo> queryPonRankRegionList(@Param("threshold") Integer threshold, @Param("localDate") String localDate, @Param("province") String province, @Param("city") String cityStr);

    Double queryPonTrendDayList(@Param("threshold") Integer threshold, @Param("localDate") String localDate, @Param("province") String province, @Param("city") String cityStr, @Param("region") String region);

    List<zRankVo> queryPonRankMonthList(@Param("threshold") Integer threshold, @Param("localDate") String localDate, @Param("province") String province, @Param("city") String cityStr);

    Double queryPonProvince(@Param("threshold") Integer threshold, @Param("localDate") String rankTime, @Param("province") String provinceShort);

    Double queryPonDayCity(@Param("threshold") Integer threshold, @Param("localDate") String rankTime, @Param("province") String province, @Param("city") String area);

    Double queryPonDayRegion(@Param("threshold") Integer threshold, @Param("localDate") String rankTime, @Param("province") String province, @Param("city") String city, @Param("region") String area);

    List<zRankVo> queryPonDayOutdoStatSortList(@Param("threshold")Integer threshold,@Param("localDate") String rankTime,@Param("province") String province,@Param("city") String city);

    int selectTotal(@Param("threshold")Integer threshold,@Param("month") String month);

    List<TNetworkTopologyPonAreaDayVo> getDayDetail(@Param("province")String province,@Param("time") String time,@Param("threshold") Integer threshold,@Param("city") String city,@Param("region") String region);

    List<TNetworkTopologyPonAreaDayVo> getMonthDetail(@Param("province")String province,@Param("time") String month,@Param("threshold") Integer threshold,@Param("city") String city,@Param("region") String region);
}





